<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>编写通用应用注意事项 </title>
</head>

<body>
  <div>
    <p>独立的程序实例(例如vue实例，创建vue实例是放在函数中)，避免造成状态污染</p>
    <P>服务端不必使用数据响应式</P>
    <P>只有beforeCreate 和 created 生命周期函数会在服务端渲染过程被调用,也就是说任何其他生命周期钩子函数或者前面两个，只会在客服端执行</P>
    <p>避免在beforeCreate 和 created 生命周期函数 写副作用的代码，尽量写在客服端执行的函数</p>
    <p>通用代码不可接受特定平台的API，例如window,document 这种仅在浏览器可用，在node中执行会报错</p>
    <p>第三方库如何不是编写了兼容客服端和服务端的编写，则将其集成到服务器渲染的应用程序中，可能会很棘手</p>
    <p>大多数自定义指令直接操作DOM 因此会在服务器渲染(SSR) 过程中导致错误，有两种方法可以解决这个问题</p>
    <p>1.推荐使用组件作为抽象机制，并运行在 虚拟 DOM 层级 例如，使用渲染函数</p>
    <p>2.如果你有一个自定义指令，但是不是很容易替换为组件，则可以在创建服务器 renderer 时，使用 directives 选项所提供"服务端版本"</p>
  </div>
  <script>
  </script>
</body>

</html>